﻿'Copyright ?1995-2007, Camstar Systems, Inc. All Rights Reserved.
'Description:外委数据访问接口
'Copyright (c) : 通力凯顿（北京）系统集成有限公司
'Writer:tianFW
'create Date:2017-6-19
'Rewriter:
'Rewrite Date:
'Copyright ?1995-2007, Camstar Systems, Inc. All Rights Reserved.

Imports BusinessRule.DTO

Public Interface uLMSCommissioningIBusiness

    ''' <summary>
    ''' 获取可以进行外委的批次信息
    ''' </summary>
    ''' <param name="QueryCondition"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetContianerCommissioningInfo(ByVal QueryCondition As Dictionary(Of String, String)) As DTO.uMESProcessResult

    ''' <summary>
    ''' 添加批次外委信息
    ''' </summary>
    ''' <remarks></remarks>
    Function AddContainerCommissioning(ByVal dto As ContainerCommissioningDTO) As Boolean

    ''' <summary>
    ''' 按唯一ID删除外委信息
    ''' </summary>
    ''' <param name="ContianerCommissioningID"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function DelContainerCommissioningInfo(ByVal ContianerCommissioningID As String) As Boolean

    ''' <summary>
    ''' 获取批次已经外委的工序信息
    ''' </summary>
    ''' <param name="containerid"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetCommissionProcess(ByRef containerid As String) As DataTable

    ''' <summary>
    ''' 更新调度信息
    ''' </summary>
    ''' <param name="para"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function UpdateContainerCommissioning(ByVal para As Dictionary(Of String, String)) As Boolean

    ''' <summary>
    ''' 根据ContainerID获取已经调度的外委信息
    ''' </summary>
    ''' <param name="containerID"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetHadCommissioningInfo(ByVal containerID As String) As DataTable

    ''' <summary>
    ''' 获取外委厂家信息
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetCustomerInfo() As DataTable

    ''' <summary>
    ''' 根据工艺ID和工步获取InWorkFlowStepID
    ''' </summary>
    ''' <param name="para"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function AddFixedCommissionInfo(ByVal para As Dictionary(Of String, String)) As Boolean

    ''' <summary>
    ''' 获取当前外委信息
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetCurrentCommissionInfo(ByVal para As Dictionary(Of String, String)) As DataTable


    ''' <summary>
    ''' 获取批次当前序的外委信息 create by tianFW 2018年10月11日
    ''' </summary>
    ''' <param name="containerIDs">批次ID</param>
    ''' <param name="workflowstepID">当前工序ID</param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetContainerCurrnetCommInfo(ByVal containerIDs As String, ByVal workflowstepID As String) As DataTable

    ''' <summary>
    ''' 更新批次的外委标识
    ''' </summary>
    ''' <param name="containerID">批次ID</param>
    ''' <param name="type">1 当前序 2 其他序</param>
    ''' <param name="value">0 无 1 有,当此为0时，type值不使用，随便传值</param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function UpdateCommissioningNum(ByVal containerID As String, ByVal type As Integer, ByVal value As Integer) As Boolean

    Function ReverseCommissionInfo(ByVal para As Dictionary(Of String, String)) As uMESProcessResult

    ''' <summary>
    ''' 获取外委转出批次主数据 add by zhangrj 2022-11-24
    ''' </summary>
    ''' <param name="para"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetContainerCommissioningOutList(ByVal para As Dictionary(Of String, String)) As uMESProcessResult
    ''' <summary>
    ''' 获取外委转出批次详细数据 add by zhangrj 2022-11-24
    ''' </summary>
    ''' <param name="para"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetContainerCommissioningOutDetailList(ByVal para As Dictionary(Of String, String)) As DataTable
    ''' <summary>
    ''' 获取临时外委批次主数据 add by zhangrj 2022-11-30
    ''' </summary>
    ''' <param name="para"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetContainerCommissioningTempList(ByVal para As Dictionary(Of String, String)) As uMESProcessResult
    ''' <summary>
    ''' 获取临时外委批次详细数据 add by zhangrj 2022-11-30
    ''' </summary>
    ''' <param name="para"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetContainerCommissioningTempDetailList(ByVal para As Dictionary(Of String, String)) As DataTable
    ''' <summary>
    ''' 保存临时外委数据 add by zhangrj 2022-11-30
    ''' </summary>
    ''' <param name="para"></param>
    ''' <param name="containerDT"></param>
    ''' <param name="stepDT"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function SaveContainerTempCommiData(ByVal para As Dictionary(Of String, String), ByVal containerDT As DataTable, ByVal stepDT As DataTable) As Boolean
    ''' <summary>
    ''' 填充自检自分报工记录 add by zhangrj 20230609
    ''' </summary>
    ''' <param name="dic"></param>
    ''' <param name="m_UserInfo"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function FillSelfCheckReportData(ByVal dic As Dictionary(Of String, String), ByVal m_UserInfo As CurrentUserInfo) As Boolean
    ''' <summary>
    ''' 验证是否有效的自检自分外委 add by zhangrj 20230614
    ''' </summary>
    ''' <param name="workflowStepID"></param>
    ''' <param name="inWorkflowStepID"></param>
    ''' <param name="msg"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function IsValidSelfCheckCommission(ByVal workflowStepID As String, ByVal inWorkflowStepID As String, ByRef msg As String) As Boolean
End Interface
